Previously, software development decision makers lacked the objective information needed to make informed decisions. Recently, many mechanisms of collecting metrics have evolved—so much so, in fact, that decision makers are now flooded with more information than they can interpret in an appreciable amount of time.
Put simply, software development managers need to focus on the most pressing needs of their projects. Assuming that the data is available, those managers must examine any collected metrics and interpret several dynamic variables with respect to each other and to prior values over various time intervals. After analyzing that data, the manager needs to determine the best course of action to keep the project on track to meet its deadline. Since the process of interpreting this data could easily take more than a day, the data is likely be outdated by the time the interpretation is complete and the appropriate action is determined.
As the software systems increase in size and complexity, it is unrealistic to expect any one person to be technically proficient in the details of each individual system component. Furthermore, to the degree to which this technical proficiency is embodied in individuals, if every process in the development cycle needs to go through these people, they become bottle-necks in assuring the functional requirements of the system. For example, there are many meetings, some information is stored in a requirements management system, some is stored in a defect management system, some is stored in Word documents, some is stored in emails. As a result, it's impossible to get the whole story. This reduces the flexibility and agility of the organization, inhibiting its ability to quickly adapt to changing business conditions. Furthermore, there is a problem in the industry that when business analysts write requirements, they never know when the requirements are completed and they never get a chance to see if the requirements are implemented properly.
In the current market, there is a growing number of technologies that collect and display data. However, there remains a need for technologies that automatically analyze that data and present it in a format that allows and even encourages the best action to be taken by the development team.